package 简单.模拟;

/**
 * 给定两个字符串 s1 和 s2，请编写一个程序，确定其中一个字符串的字符重
 * 新排列后，能否变成另一个字符串。
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode.cn/problems/check-permutation-lcci/
 */
public class 判定是否互为字符重排_0102 {

    public static void main(String[] args) {


    }

    // 如果不是只有 小写字母 必须用哈希表
    public boolean CheckPermutation(String s1, String s2) {
        if (s1.length() != s2.length()) {
            return false;
        }

        int[] s1Total = new int[26];
        int[] s2Total = new int[26];
        for (int i = 0; i < s1.length(); i++) {
            s1Total[s1.charAt(i) - 'a']++;
            s2Total[s2.charAt(i) - 'a']++;
        }

        for (int i = 0; i < s1Total.length; i++) {
            if (s1Total[i] != s2Total[i]) {
                return false;
            }
        }

        return true;
    }

}
